.TH std::experimental::unique_resource::operator= 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::experimental::unique_resource::operator= \- std::experimental::unique_resource::operator=

.SH Synopsis
   unique_resource& operator=( unique_resource&& other )  (library fundamentals TS v3)
       noexcept(/*see below*/);

   Move assignment operator. Replaces the managed resource and the deleter with
   other's.

   Formally, let RS be the type of stored resource handle:

     * First, calls reset() to dispose the currently owned resource, if any.
     * Then assigns the stored resource handle and the deleter with other's. std::move
       is applied to the stored resource handle or the deleter of other if
       std::is_nothrow_move_assignable_v<RS> or std::is_nothrow_move_assignable_v<D> is
       true respectively. Assignment of the stored resource handle is executed first,
       unless std::is_nothrow_move_assignable_v<D> is false and
       std::is_nothrow_move_assignable_v<RS> is true.
     * Finally, sets *this to own the resource if and only if other owned it before
       assignment, and other not to own the resource.

   If std::is_nothrow_move_assignable_v<RS> is true, RS shall satisfy the
   MoveAssignable requirements; otherwise RS shall satisfy the CopyAssignable
   requirements. If std::is_nothrow_move_assignable_v<D> is true, D shall satisfy the
   MoveAssignable requirements; otherwise D shall satisfy the CopyAssignable
   requirements. Failing to satisfy above requirements results in undefined behavior.

.SH Parameters

   other - resource wrapper from which ownership will be transferred

.SH Return value

   *this

.SH Exceptions

   Any exception thrown in copy-assignment.

   noexcept specification:
   noexcept(std::is_nothrow_move_assignable_v<RS> &&
   std::is_nothrow_move_assignable_v<D>)

.SH Notes

   If a copy of a member throws an exception, this mechanism leaves other intact and
   *this in the released state.

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   reset     disposes or replaces the managed resource
             \fI(public member function)\fP
   operator= assigns the unique_ptr
             \fI(public member function of std::unique_ptr<T,Deleter>)\fP

.SH Categories:
     * conditionally noexcept
     * Todo no example
